﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using Ext.Net;

using AppGISENA.ObjetosNegocio;

using AppGisena.Models;
using System.Data.Entity.Spatial;
using AppGISENA.UIServicios;
namespace AppGisena.Presentacion.Up
{
    public partial class GeoreferenciarUp : System.Web.UI.Page
    {
        private UnidadProductivaServicios myservicios = new UnidadProductivaServicios();
        protected void Page_Load(object sender, EventArgs e)
        {

        }



        protected void Btn_BuscarUPGISENA_Click(object sender, DirectEventArgs e)
        {

            if (Txt_Cod_Up.Text != null)
            {
                try
                {
                    //buscar si la UP esta registrada en GISENA


                                        var sofia = myservicios.getUPSofiaById((int.Parse)(Txt_Cod_Up.Text));

                                     //   PanelCarat.Disabled = false;
                                        if (sofia == null)
                                        {
                                            X.Msg.Notify("GISENA", "No se encuentra la Unidad Productiva, Busque en SOFIA PLUS").Show();
                                            // ventana_up.Show();
                                            //limpiar los controles

                                            Txt_Cod_Cent_Form2.Text = " ";
                                            Txt_NFicha_UP2.Text = "";
                                            Txt_Nomb_UP2.Text = "";
                                            // PanelDatosofia.Disabled = false;
                                          //  PanelDatosofia.Disabled = false;
                                           // PanelCarat.Disabled = true;
                                            //TabPrinc.ActiveIndex = 0;

                                        }
                                        else
                                        {
                                            Txt_Cod_Cent_Form2.Text = sofia.Cod_Cent_Form.ToString();
                                            Txt_NFicha_UP2.Text = sofia.NFicha_UP;
                                            Txt_Nomb_UP2.Text = sofia.Nomb_UP;
                                            //busca en caracterizacion


                                          //  Slb_Tp_up.Value = sofia.Id_Tp_UP;
                                            //= sofia.Caracterizacion_UP.Id_Tp_UP.ToString();
                                           // Sel_Id_Est_up.Value = sofia.Id_Est_up;

                                           // TxtA_Descripcion_UP.Text = sofia.Descripcion_UP;
                                           // Txt_Num_Act_Mat.Text = sofia.Num_Act_Mat;


                                           // PanelDatosofia.Disabled = true;

                                           // TabPrinc.ActiveIndex = 1;
                                            //Si no hay datos en caracterizacion mostrar mensaje para que le usuario los llenes
                                            //si hay datos en caracterizacion, cargar y mostrar estos datos

                                        }


                    

                }
                catch (Exception ex)
                {
                    X.Msg.Alert("GISENA", "Revise conexion" + ex).Show();

                    //falla en la conectividad, o sistema no disponible
                }
            }
            else
            {
                X.Msg.Alert("GISENA", "Digite el codigo de la Unidad Productiva").Show();

            }
        }



       // public void insertlocation(string lattitude, string longitude)


        protected void Btn_GuardarGeoreferenciacion_Click(object sender, DirectEventArgs e)
        {

                try
                {


                        UpLocalizacionBO mylocalizacion=new UpLocalizacionBO 
                                                
                        {

                            Shape = DbGeography.PointFromText(string.Format("POINT({0} {1})", Txt_Latitud.Text, Txt_Longitud.Text), 4326),
                            Altura_GNS = decimal.Parse(Txt_Altura.Text),
                            Area_Potencial = decimal.Parse(Txt_Area_Potencial.Text),
                            Area_Predio = decimal.Parse(Txt_Area_Total .Text),
                            Cod_UP = int.Parse(Txt_Cod_Up.Text),
                            Area_UP = decimal.Parse(Txt_Area_Prod.Text),
                            Dir_Predio = Txt_Direccion_Up.Text,
                            Nom_Predio = Txt_Nomb_UP2.Text,
                            Tipo_Predio = Slb_Tipo_Peredio.Text,
                            Tenecia = Slb_Tipo_Posecion.Text,
                            Vereda_Barrio = Txt_Nomb_Vere_Brio.Text,

                        };

                        myservicios.CreateUPLocalizacion(mylocalizacion);
                        

                    
              
                      X.Msg.Alert("GISENA", "Localizacion Registrada stisfactoriamente").Show();

                }
                catch
                {

                    //falla en la conectividad, o sistema no disponible
                }
          
           
        }














    }
}